package com.xteam.ecsystem.dao;

import java.util.List;

import com.xteam.ecsystem.utils.PageCenterStation;

public interface IFrontCartDao {

	/**
	 * 
	 * 根据会员ID，会话ID获取分页购物车列表
	 * @author ls
	 * @param userId
	 * @param pageIndex
	 * @param pageSize
	 * @return
	 */
	public PageCenterStation<?> getUserCartList(String userId,
			int pageIndex, int pageSize);

	/**
	 * 
	 * 加入购物车
	 * @author ls
	 * @param id
	 * @param attr
	 * @param num
	 * @param userId
	 * @param userRole
	 */
	public void addToCart(String id, String attr, int num, String userId, int userRole);

	/**
	 * 
	 * 获取总价
	 * @author ls
	 * @param id
	 * @param attr
	 * @param num
	 * @return
	 */
	public String getTotalPrice(String id, String attr, int num);

	/**
	 * 
	 * 移除购物车
	 * @author ls
	 * @param bciId
	 * @param userId
	 */
	public void dropFromCart(String bciId, String userId);

	/**
	 * 
	 * 清空购物车
	 * @author ls
	 * @param userId
	 */
	public void clearCartByUserId(String userId);

	/**
	 * 
	 * 更新购物车
	 * @author ls
	 * @param bciId
	 * @param num
	 * @param userId
	 * @return
	 */
	public String updateCartGoods(String bciId, int num, String userId);

	/**
	 * 
	 * 获取购物车商品总价
	 * @author ls
	 * @param userId
	 * @return
	 */
	public double getCartTotal(String userId);

	/**
	 * 
	 * 根据用户ID获得购物车中所有该用户的商品
	 * @author ls
	 * @param userId
	 * @return
	 */
	public List<?> getAllGoodsByUser(String userId);

	/**
	 * 
	 * 获取购物车商品数量
	 * @author ls
	 * @param userId
	 * @return
	 */
	public int countCartGoods(String userId);

}
